<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Biometric Embedded Platform: api/inc/fpc_bep_sensor.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Biometric Embedded Platform
   &#160;<span id="projectnumber">fpc_bep_kaadas_21.0.1.002</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('fpc__bep__sensor_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">fpc_bep_sensor.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Fingerprint sensor API.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
<code>#include &quot;<a class="el" href="fpc__bep__types_8h_source.html">fpc_bep_types.h</a>&quot;</code><br />
<code>#include &quot;fpc_bep_sensors.h&quot;</code><br />
</div>
<p><a href="fpc__bep__sensor_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfpc__bep__sensor__prop__t.html">fpc_bep_sensor_prop_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Properties for fingerprint sensor.  <a href="structfpc__bep__sensor__prop__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfpc__bep__sensor__param__t.html">fpc_bep_sensor_param_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configurable parameters for FPC BEP sensor functions.  <a href="structfpc__bep__sensor__param__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:afe89d73d3f6317bc17f96d40cfc2fd5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#a2c9d883c6aa5a2e7f59227c6ecaaacc6">fpc_bep_sensor_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#afe89d73d3f6317bc17f96d40cfc2fd5c">fpc_bep_sensor_get_type</a> (const <a class="el" href="fpc__bep__types_8h.html#aa5f53a6c77b54a8f592f9c81480e79a5">fpc_bep_sensor_t</a> *sensor)</td></tr>
<tr class="memdesc:afe89d73d3f6317bc17f96d40cfc2fd5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the sensor type for a specific sensor.  <a href="#afe89d73d3f6317bc17f96d40cfc2fd5c">More...</a><br /></td></tr>
<tr class="separator:afe89d73d3f6317bc17f96d40cfc2fd5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f7816865c3cbb3e528b72a10e51f760"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#a9f7816865c3cbb3e528b72a10e51f760">fpc_bep_sensor_get_recommended_param</a> (const <a class="el" href="fpc__bep__types_8h.html#aa5f53a6c77b54a8f592f9c81480e79a5">fpc_bep_sensor_t</a> *sensor, <a class="el" href="structfpc__bep__sensor__param__t.html">fpc_bep_sensor_param_t</a> *param)</td></tr>
<tr class="memdesc:a9f7816865c3cbb3e528b72a10e51f760"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets recommended sensor function configuration parameters for the FPC BEP library.  <a href="#a9f7816865c3cbb3e528b72a10e51f760">More...</a><br /></td></tr>
<tr class="separator:a9f7816865c3cbb3e528b72a10e51f760"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d7ca04903a7b5f993ac7a4019f97b3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#a7d7ca04903a7b5f993ac7a4019f97b3e">fpc_bep_sensor_init</a> (const <a class="el" href="fpc__bep__types_8h.html#aa5f53a6c77b54a8f592f9c81480e79a5">fpc_bep_sensor_t</a> *sensor, const uint8_t *calibration, const <a class="el" href="structfpc__bep__sensor__param__t.html">fpc_bep_sensor_param_t</a> *param)</td></tr>
<tr class="memdesc:a7d7ca04903a7b5f993ac7a4019f97b3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the fingerprint sensor part of FPC BEP library.  <a href="#a7d7ca04903a7b5f993ac7a4019f97b3e">More...</a><br /></td></tr>
<tr class="separator:a7d7ca04903a7b5f993ac7a4019f97b3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad079e331d8f2db958daedb175de7df16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#ad079e331d8f2db958daedb175de7df16">fpc_bep_sensor_release</a> (void)</td></tr>
<tr class="memdesc:ad079e331d8f2db958daedb175de7df16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the fingerprint sensor part of FPC BEP library.  <a href="#ad079e331d8f2db958daedb175de7df16">More...</a><br /></td></tr>
<tr class="separator:ad079e331d8f2db958daedb175de7df16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3dde0b3a7ee4b46f3edb3a5e57e527a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#ae3dde0b3a7ee4b46f3edb3a5e57e527a">fpc_bep_sensor_sleep</a> (uint16_t sleep_time)</td></tr>
<tr class="memdesc:ae3dde0b3a7ee4b46f3edb3a5e57e527a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activates the sensor sleep mode.  <a href="#ae3dde0b3a7ee4b46f3edb3a5e57e527a">More...</a><br /></td></tr>
<tr class="separator:ae3dde0b3a7ee4b46f3edb3a5e57e527a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23bc3ffb7309cffebf1242d6a77d6798"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#a23bc3ffb7309cffebf1242d6a77d6798">fpc_bep_finger_detect</a> (void)</td></tr>
<tr class="memdesc:a23bc3ffb7309cffebf1242d6a77d6798"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the result of the latest reduced finger present query.  <a href="#a23bc3ffb7309cffebf1242d6a77d6798">More...</a><br /></td></tr>
<tr class="separator:a23bc3ffb7309cffebf1242d6a77d6798"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc02283e359669904ea35544b81d8782"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#adc02283e359669904ea35544b81d8782">fpc_bep_sensor_keep_in_idle</a> (void)</td></tr>
<tr class="memdesc:adc02283e359669904ea35544b81d8782"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activates and keeps the sensor in idle mode.  <a href="#adc02283e359669904ea35544b81d8782">More...</a><br /></td></tr>
<tr class="separator:adc02283e359669904ea35544b81d8782"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d9cdb24d60dbdfa50eed9c87ec366f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#a6d9cdb24d60dbdfa50eed9c87ec366f3">fpc_bep_sensor_deep_sleep</a> (void)</td></tr>
<tr class="memdesc:a6d9cdb24d60dbdfa50eed9c87ec366f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activates the sensor deep sleep mode.  <a href="#a6d9cdb24d60dbdfa50eed9c87ec366f3">More...</a><br /></td></tr>
<tr class="separator:a6d9cdb24d60dbdfa50eed9c87ec366f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abff59351f56fca4d0ac5de8e0027bd39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#abff59351f56fca4d0ac5de8e0027bd39">fpc_bep_check_finger_present</a> (<a class="el" href="fpc__bep__types_8h.html#a1c3740269395cfccd0aef5ac41559a6b">fpc_bep_finger_status_t</a> *finger_status)</td></tr>
<tr class="memdesc:abff59351f56fca4d0ac5de8e0027bd39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if there is a finger present on the sensor.  <a href="#abff59351f56fca4d0ac5de8e0027bd39">More...</a><br /></td></tr>
<tr class="separator:abff59351f56fca4d0ac5de8e0027bd39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70d88fd94696259b75f110477b79db1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#a70d88fd94696259b75f110477b79db1b">fpc_bep_get_finger_detect_zones</a> (uint16_t *finger_detect_zones)</td></tr>
<tr class="memdesc:a70d88fd94696259b75f110477b79db1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the status of the fngrPresentStatus register.  <a href="#a70d88fd94696259b75f110477b79db1b">More...</a><br /></td></tr>
<tr class="separator:a70d88fd94696259b75f110477b79db1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5648089bf85fd31b4adde578783c33d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#ab5648089bf85fd31b4adde578783c33d">fpc_bep_capture</a> (<a class="el" href="fpc__bep__types_8h.html#aac8124c8124fff6434f4442baa231459">fpc_bep_image_t</a> *image)</td></tr>
<tr class="memdesc:ab5648089bf85fd31b4adde578783c33d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Captures an image from the sensor.  <a href="#ab5648089bf85fd31b4adde578783c33d">More...</a><br /></td></tr>
<tr class="separator:ab5648089bf85fd31b4adde578783c33d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d95bd3e7999db7029cee1c7c8d37e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#a46d95bd3e7999db7029cee1c7c8d37e1">fpc_bep_sensor_reset</a> (void)</td></tr>
<tr class="memdesc:a46d95bd3e7999db7029cee1c7c8d37e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the sensor.  <a href="#a46d95bd3e7999db7029cee1c7c8d37e1">More...</a><br /></td></tr>
<tr class="separator:a46d95bd3e7999db7029cee1c7c8d37e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1efdd9b9237ee66570e9adfdb806ccce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#a1efdd9b9237ee66570e9adfdb806ccce">fpc_bep_sensor_properties</a> (<a class="el" href="structfpc__bep__sensor__prop__t.html">fpc_bep_sensor_prop_t</a> *properties)</td></tr>
<tr class="memdesc:a1efdd9b9237ee66570e9adfdb806ccce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the sensor properties.  <a href="#a1efdd9b9237ee66570e9adfdb806ccce">More...</a><br /></td></tr>
<tr class="separator:a1efdd9b9237ee66570e9adfdb806ccce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c6fd4640fe4d05846a9d8f0268ecd7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#a6c6fd4640fe4d05846a9d8f0268ecd7e">fpc_bep_signal_image_capture_start</a> (void)</td></tr>
<tr class="memdesc:a6c6fd4640fe4d05846a9d8f0268ecd7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signals that actual image capture is started, after finger detect.  <a href="#a6c6fd4640fe4d05846a9d8f0268ecd7e">More...</a><br /></td></tr>
<tr class="separator:a6c6fd4640fe4d05846a9d8f0268ecd7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac802aa6f23460af1a9c0c695a4e01c6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__sensor_8h.html#ac802aa6f23460af1a9c0c695a4e01c6a">fpc_bep_sensor_read_otp</a> (uint8_t addr, uint8_t *data, size_t size)</td></tr>
<tr class="memdesc:ac802aa6f23460af1a9c0c695a4e01c6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from sensor OTP memory.  <a href="#ac802aa6f23460af1a9c0c695a4e01c6a">More...</a><br /></td></tr>
<tr class="separator:ac802aa6f23460af1a9c0c695a4e01c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Fingerprint sensor API. </p>
<p>This is the fingerprint sensor API of the Biometric Embedded Platform (BEP) library. The library contains functionality for use with biometric hardware from Fingerprint Cards. It is targeting embedded systems with tight restrictions on available CPU, memory and storage resources.</p>
<p>The library is by definition executing in the same security domain as the caller, therefore the API does not define any security mechanisms and it is the responsibility of the caller to securely deliver and protect any sensitive data being delivered to other parts of the system.</p>
<dl class="section note"><dt>Note</dt><dd>This is a work-in-progress specification. Implementers are informed that this API may change without providing any backward compatibility. However it is FPC's ambition that the API shall remain compatible between releases. </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ab5648089bf85fd31b4adde578783c33d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5648089bf85fd31b4adde578783c33d">&#9670;&nbsp;</a></span>fpc_bep_capture()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_capture </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="fpc__bep__types_8h.html#aac8124c8124fff6434f4442baa231459">fpc_bep_image_t</a> *&#160;</td>
          <td class="paramname"><em>image</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Captures an image from the sensor. </p>
<p>This function will put the sensor in idle mode and then capture an image. If the image object references previously captured data it will be overwritten with the newly captured data. On successful return the image can be used as input for enrollment or identification. Once the image has been captured the sensor is put in deep sleep mode.</p>
<p>Note that the sensor should be covered sufficiently by the finger prior to calling this function. Use function <a class="el" href="fpc__bep__sensor_8h.html#abff59351f56fca4d0ac5de8e0027bd39" title="Checks if there is a finger present on the sensor. ">fpc_bep_check_finger_present</a> to query the sensor coverage.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">image</td><td>The captured image. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="abff59351f56fca4d0ac5de8e0027bd39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abff59351f56fca4d0ac5de8e0027bd39">&#9670;&nbsp;</a></span>fpc_bep_check_finger_present()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_check_finger_present </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="fpc__bep__types_8h.html#a1c3740269395cfccd0aef5ac41559a6b">fpc_bep_finger_status_t</a> *&#160;</td>
          <td class="paramname"><em>finger_status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks if there is a finger present on the sensor. </p>
<p>This function will put the sensor in idle mode, query the sensor for finger present status and then finally put the sensor in deep sleep mode. The number of finger detect zones can be configured with the <a class="el" href="structfpc__bep__sensor__param__t.html" title="Configurable parameters for FPC BEP sensor functions. ">fpc_bep_sensor_param_t</a> in fpc_bep_sensor_init.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">finger_status</td><td>Finger present status. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a23bc3ffb7309cffebf1242d6a77d6798"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23bc3ffb7309cffebf1242d6a77d6798">&#9670;&nbsp;</a></span>fpc_bep_finger_detect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool fpc_bep_finger_detect </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the result of the latest reduced finger present query. </p>
<p>This function will check the interrupt status flag. If the flag is set, it will read and clear the sensor interrupt status register.</p>
<dl class="section return"><dt>Returns</dt><dd>::true if finger is detected, false otherwise. </dd></dl>

</div>
</div>
<a id="a70d88fd94696259b75f110477b79db1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70d88fd94696259b75f110477b79db1b">&#9670;&nbsp;</a></span>fpc_bep_get_finger_detect_zones()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_get_finger_detect_zones </td>
          <td>(</td>
          <td class="paramtype">uint16_t *&#160;</td>
          <td class="paramname"><em>finger_detect_zones</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the status of the fngrPresentStatus register. </p>
<p>This function will return the status of the fngrPresentStatus register, where each bit indicates whether a specific finger detect zone currently is active (finger down). For more information on the finger detect functionality, see the ASIC Product Specification.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">finger_detect_zones</td><td>The status of the fngrPresentStatus register. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a6d9cdb24d60dbdfa50eed9c87ec366f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d9cdb24d60dbdfa50eed9c87ec366f3">&#9670;&nbsp;</a></span>fpc_bep_sensor_deep_sleep()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_sensor_deep_sleep </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Activates the sensor deep sleep mode. </p>
<p>This function will order the sensor to go to deep sleep mode.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a9f7816865c3cbb3e528b72a10e51f760"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f7816865c3cbb3e528b72a10e51f760">&#9670;&nbsp;</a></span>fpc_bep_sensor_get_recommended_param()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_sensor_get_recommended_param </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="fpc__bep__types_8h.html#aa5f53a6c77b54a8f592f9c81480e79a5">fpc_bep_sensor_t</a> *&#160;</td>
          <td class="paramname"><em>sensor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpc__bep__sensor__param__t.html">fpc_bep_sensor_param_t</a> *&#160;</td>
          <td class="paramname"><em>param</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets recommended sensor function configuration parameters for the FPC BEP library. </p>
<p>This function could be called before the sensor is initialized.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sensor</td><td>Sensor configuration. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">param</td><td>The recommended BEP library sensor function configuration parameters.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="afe89d73d3f6317bc17f96d40cfc2fd5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe89d73d3f6317bc17f96d40cfc2fd5c">&#9670;&nbsp;</a></span>fpc_bep_sensor_get_type()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#a2c9d883c6aa5a2e7f59227c6ecaaacc6">fpc_bep_sensor_type_t</a> fpc_bep_sensor_get_type </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="fpc__bep__types_8h.html#aa5f53a6c77b54a8f592f9c81480e79a5">fpc_bep_sensor_t</a> *&#160;</td>
          <td class="paramname"><em>sensor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the sensor type for a specific sensor. </p>
<p>This function retrieves the sensor type based on a sensor configuration. It could be used before the sensor is initialized.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sensor</td><td>The fingerprint sensor configuration. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#a2c9d883c6aa5a2e7f59227c6ecaaacc6" title="Fingerprint sensor type enumeration. ">fpc_bep_sensor_type_t</a> </dd></dl>

</div>
</div>
<a id="a7d7ca04903a7b5f993ac7a4019f97b3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d7ca04903a7b5f993ac7a4019f97b3e">&#9670;&nbsp;</a></span>fpc_bep_sensor_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_sensor_init </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="fpc__bep__types_8h.html#aa5f53a6c77b54a8f592f9c81480e79a5">fpc_bep_sensor_t</a> *&#160;</td>
          <td class="paramname"><em>sensor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>calibration</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structfpc__bep__sensor__param__t.html">fpc_bep_sensor_param_t</a> *&#160;</td>
          <td class="paramname"><em>param</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the fingerprint sensor part of FPC BEP library. </p>
<p>When returning from this function the sensor is in deep sleep mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sensor</td><td>The fingerprint sensor configuration to be used with the BEP library. It can be any of the declared fpc_bep_sensor_x types in file <a class="el" href="fpc__bep__sensors_8h_source.html">fpc_bep_sensors.h</a> (eg fpc_bep_sensor_1020...). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">calibration</td><td>Sensor calibration data. If not NULL, a reference to the supplied buffer is stored. Caller must not delete buffer. If NULL, sensor calibration is run as part of <a class="el" href="fpc__bep__sensor_8h.html#a7d7ca04903a7b5f993ac7a4019f97b3e" title="Initializes the fingerprint sensor part of FPC BEP library. ">fpc_bep_sensor_init()</a> and calibration data is stored internally. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">params</td><td>Optional sensor function configuration parameters. NULL for default.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="adc02283e359669904ea35544b81d8782"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc02283e359669904ea35544b81d8782">&#9670;&nbsp;</a></span>fpc_bep_sensor_keep_in_idle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_sensor_keep_in_idle </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Activates and keeps the sensor in idle mode. </p>
<p>This function will put and keep the sensor in idle mode until a call to <a class="el" href="fpc__bep__sensor_8h.html#a6d9cdb24d60dbdfa50eed9c87ec366f3" title="Activates the sensor deep sleep mode. ">fpc_bep_sensor_deep_sleep</a> is made.</p>
<p>Note: Future calls to BEP sensor functions will not put the sensor in deep sleep mode before returning.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a1efdd9b9237ee66570e9adfdb806ccce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1efdd9b9237ee66570e9adfdb806ccce">&#9670;&nbsp;</a></span>fpc_bep_sensor_properties()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_sensor_properties </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfpc__bep__sensor__prop__t.html">fpc_bep_sensor_prop_t</a> *&#160;</td>
          <td class="paramname"><em>properties</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the sensor properties. </p>
<p>This function retrieves the sensor properties.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">properties</td><td>The retrieved sensor properties. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="ac802aa6f23460af1a9c0c695a4e01c6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac802aa6f23460af1a9c0c695a4e01c6a">&#9670;&nbsp;</a></span>fpc_bep_sensor_read_otp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_sensor_read_otp </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read from sensor OTP memory. </p>
<p>This function will put the sensor in idle mode, read &lt;size&gt; number of bytes from the specified address of the sensor OTP memory and put the sensor back in deep sleep mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>OTP address. </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">buf</td><td>OTP data buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of bytes to read from OTP. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="ad079e331d8f2db958daedb175de7df16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad079e331d8f2db958daedb175de7df16">&#9670;&nbsp;</a></span>fpc_bep_sensor_release()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_sensor_release </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Releases the fingerprint sensor part of FPC BEP library. </p>
<p>After sensor resources successfully has been released a new initialization must be performed by calling <a class="el" href="fpc__bep__sensor_8h.html#a7d7ca04903a7b5f993ac7a4019f97b3e" title="Initializes the fingerprint sensor part of FPC BEP library. ">fpc_bep_sensor_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a46d95bd3e7999db7029cee1c7c8d37e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46d95bd3e7999db7029cee1c7c8d37e1">&#9670;&nbsp;</a></span>fpc_bep_sensor_reset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_sensor_reset </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resets the sensor. </p>
<p>This function performs a hard reset of the sensor, configures the sensor registers with recommended settings and finally puts the sensor in deep sleep mode.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="ae3dde0b3a7ee4b46f3edb3a5e57e527a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3dde0b3a7ee4b46f3edb3a5e57e527a">&#9670;&nbsp;</a></span>fpc_bep_sensor_sleep()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_sensor_sleep </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>sleep_time</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Activates the sensor sleep mode. </p>
<p>This function will order the sensor to go to sleep mode. In sleep mode the sensor will wake up periodically to perform reduced finger queries and then go back to sleep in order to save energy. Once a finger is detected, an interrupt is generated by the sensor and a status flag is set. The finger present status can be polled by calling function fpc_bep_finger_detect.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sleep_time</td><td>Nominal sleep time between finger present queries [ms]. Range [0, 1020]. Resolution 4ms. The clock frequency is guaranteed to be in [-50%, +19%] of nominal. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a6c6fd4640fe4d05846a9d8f0268ecd7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c6fd4640fe4d05846a9d8f0268ecd7e">&#9670;&nbsp;</a></span>fpc_bep_signal_image_capture_start()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fpc_bep_signal_image_capture_start </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Signals that actual image capture is started, after finger detect. </p>
<p>The purpose of this function is to support time measurement of image capture without including time waiting for finger. The definition of this function is weak in the BEP library. Redefine function outside of the library where needed. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_0188a3e6da905bc60aceb35bf790b8c9.html">api</a></li><li class="navelem"><a class="el" href="dir_d218fd71c02742082feaad64e43c1ecd.html">inc</a></li><li class="navelem"><a class="el" href="fpc__bep__sensor_8h.html">fpc_bep_sensor.h</a></li>
    <li class="footer">Generated on Tue Nov 9 2021 12:12:59 for Biometric Embedded Platform by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
